#include <iostream>

class Base1{
    // double d1;
    // double dx;
    // double dy;
    // double dz;
};

class Sub1 : virtual Base1{
    double s1;
};

class Sub2 : virtual Base1{
    double s2;
};

class Sub3 : public Sub1,public Sub2{
    double s2;
};

int main()
{
    Base1 *b1;
    // 全局唯一，只读
    const std::type_info &t1 = typeid(*b1);
    std::cout << t1.name() << std::endl;
    std::cout << sizeof(Base1) << std::endl;
    std::cout << sizeof(Sub1) << std::endl;
    std::cout << sizeof(Sub2) << std::endl;
    std::cout << sizeof(Sub3) << std::endl;
    return 0;
}